package com.java.simple.study.jvm.memstruct.methodarea;

import java.io.Serializable;

/**
 * @author zhoujunlin
 * @date 2022年07月11日 21:10
 * @desc 方法区内部结构（类型信息、运行时常量池、静态变量、JIT代码缓存、
 * 域信息、方法信息）演示
 * 当前类继承一个类  多个接口
 * <p>
 * 使用反编译输出到文件
 * javap -v -p MethodInnerStructTest.class > test.txt
 * -p 确保查看到private权限的字段或方法
 */
public class MethodInnerStructTest extends Object implements Comparable<String>, Serializable {
    // 成员变量
    public int num = 10;
    // 静态变量
    private static String str = "测试方法的内部结构";

    // 构造器  特殊的方法

    /**
     * void 成员方法
     */
    public void test1() {
        int count = 20;
        System.out.println("count=" + count);
    }

    // 静态方法
    public static int test2(int cal) {
        int result = 0;
        try {
            int value = 30;
            result = value / cal;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }


    @Override
    public int compareTo(String o) {
        return 0;
    }
}
